Fix WASM release tests and publish v0.1.28 - #8
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
BlockMetadataPersistrecords carrying real checksumsRoot causes
The v0.1.27 Release workflow compiled a broader WASM test matrix than regular CI. Four test call sites still passed the old
(block_id, version)scalar form afterpersist_to_indexeddb_event_basedmoved to(block_id, BlockMetadataPersist).Once that matrix ran in regular CI, its crash test exposed that the marker-less simulation helper internally forced metadata versions to zero and wrote a zero commit marker. Recovery therefore saw no version ahead of the marker. The corrected path retains retries while preserving the supplied next-version metadata and intentionally omitting the marker write.
The same suite also showed that the public asynchronous WASM
sync()path bypassed observability bookkeeping, leavingsync_countat zero after a successful durable sync. It now records sync start, success/failure, duration, and block count.Release recovery
crates.io 0.1.27 was published before its WASM job failed; npm and the GitHub Release were skipped. This PR does not rewrite or move v0.1.27. Exact merged
mainwill be tagged v0.1.28 so crates.io, npm, and GitHub Release align on the corrected release.Validation
CI run 30240107197 passed all six jobs: